using System;
using System.ComponentModel;
using System.Xml.Serialization;

namespace com.exceptionalsoftware.spacetime.KML
{
	[Serializable()]
    [XmlType(TypeName = "GroundOverlayType")]
	public class GroundOverlay : Overlay
	{
		private double altitudeField;
        private AltitudeModeEnum altitudeModeField;
        private LatLonBox boxField;

        public GroundOverlay()
		{
            this.altitudeField = 0;
            this.altitudeModeField = AltitudeModeEnum.ClampToGround;
		}

        [XmlElement(ElementName = "altitude", DataType = "double")]
        [DefaultValue(0)]
        public double Altitude
        {
            get { return this.altitudeField; }
            set { this.altitudeField = value; }
        }

        [XmlElement(ElementName = "altitudeMode", Type = typeof(AltitudeModeEnum))]
        [DefaultValue(AltitudeModeEnum.ClampToGround)]
        public AltitudeModeEnum AltitudeMode
        {
            get { return this.altitudeModeField; }
            set { this.altitudeModeField = value; }
        }

        [XmlElement(ElementName = "LatLonBox", Type = typeof(LatLonBox))]
        [DefaultValue(AltitudeModeEnum.ClampToGround)]
        public LatLonBox LatLonBox
        {
            get { return this.boxField; }
            set { this.boxField = value; }
        }
    
    }
}